package org.flower.dao;


import java.util.List;

import org.flower.entity.Address;

public interface AddressDao {
	/**
	 * 根据用户编号获取所有的收获地址
	 * @param uid
	 * @return
	 */
	List<Address> getAllAddressByUid(int uid);
	/**
	 * 新增收获地址
	 * @param a
	 * @return
	 */
	boolean addAddress(Address a);
	/**
	 * 修改收获地址
	 * @param a
	 * @return
	 */
	boolean updateAddress(Address a);
	/**
	 * 根据编号设置为默认地址
	 * @param id
	 * @return
	 */
	boolean updateSetDefaultById(int id);
	/**
	 * 根据编号 解除绑定的默认地址
	 * @param id
	 * @return
	 */
	boolean updateUnbindDefault(int id);
	/**
	 * 根据编号删除收获地址
	 * @param id
	 * @return
	 */
	boolean deleteAddressById(int id);
	/**
	 * 获取到除了默认地址外的其他地址编号 （用于取消默认地址）根据用户编号
	 * @param id 地址编号
	 * @param uid 用户编号
	 * @return
	 */
	List<Integer> getAllChuDefaultQiTaAddressId(int id,int uid);

	/**
	 * 根据用户编号 获取最大的地址编号
	 * @param uid
	 * @return
	 */
	int getMaxIdByUid(int uid);

	/**
	 * 根据编号查询地址信息
	 * @param id
	 * @return
	 */
	Address getAddressById(int id);

	/**
	 * 根据用户编号查询 用户的收获地址总条数
	 * @param uid
	 * @return
	 */
	int getAddressCountByUid(int uid);
}
